\documentclass[geye,green,pad,cn]{elegantnote}
\title{\TeX{}works 自动补全功能分类解析\footnote{本文最新版本地址：\href{https://github.com/EthanDeng/texworks-autocomplete}{Github:TeXworks-Autocomplete}。}}
\author{Dongsheng Deng}
\institute{Elegant\LaTeX{} 项目组}
\version{1.00}
\date{\today}

\begin{document}
\maketitle
\centerline{\includegraphics[width=0.25\textwidth]{logo.png}}



\section{介绍}

首先，对 \TeX{}works 的自动补全功能解释一下

\begin{enumerate}
\item  在 \TeX{}works 键入 \lstinline{xa}，按下 \lstinline{tab}，出现了 \lstinline{\alpha}，这就是最简单的补全，对简单命令的补全。
\item 在 \TeX{}works 键入 \lstinline{usep}，按下 \lstinline{tab} 建，得到了 \lstinline|\usepackage{}|，这就是最普通的补全，给出命令后的必须参数，并且光标停留在括号内。
\item 在 \TeX{}works 键入 \lstinline{usepo}，按下 \lstinline{tab}，得到了 \lstinline|\usepackage[]{·}|，这是对含有可选参数的命令的补全，光标停在可选参数的中括号内，当我们把可选参数补完之后，按下 \lstinline{ctrl+tab} 组合键，光标进入后面的必需参数括号内（后面的位置称为\textit{占位符（placeholder）}）。其中 \lstinline{ctrl+tab} 是移向下一个占位符，\lstinline{shift+tab} 是移向上一个\textit{占位符}。
\end{enumerate}

在刚才的例子中，我们只按了一次 \lstinline{tab}，假如我们键入的引导词是若干个命令的引导词的前部分，则继续按下 \lstinline{tab} 键会在这几个命令中切换，得到你想要的命令。

为了使用自动补全，我们需要记住引导词。在 \TeX{}works 中，已经定义了很多的引导词，而且也允许自定义引导词。更具体的内容参看 \TeX{}works 的使用说明。

\section{环境类}

对于环境的补全，引导词第一个字母均为 b，后面字母个数不定，但是，对绝大多数的环境，只需要使用环境名的前三个字母就行，即为 \lstinline{b+xyz+[tab]}。

 

比如 \lstinline{itemize} 环境，键入 \lstinline{bite}，然后按下 \lstinline{tab} 键，即得到了

\begin{lstlisting}[frame=single]
\begin{itemize}
\item

\end{itemize}•
\end{lstlisting}

符合此规则的环境有 document、abstract、align、tabular、appendix、bmatrix、pmatrix、cases、description、center、equation、enumerate、eqnarray、figure、flalign、gather、item、letter、list、minipage、multiline、picture、split、subequations、theorem、titlepage、trivlist、varwidth、verbatim 等。

\begin{note}
如果环境名开头带有 \lstinline{the}，则 \lstinline{xyz} 为除去 \lstinline{the} 之后的环境名的前三个字母。比如 \lstinline{bind=theindex} 环境、\lstinline{bbib=thebibliography} 环境。
\end{note}

另外需要注意的是：星号环境在原来引导词后加 \lstinline{s}，即为 \lstinline{b+xyz+s+[tab]}，如果环境有可选项，需要使用可选项，则需要在末尾加上 \lstinline{o} (option 的意思)，即为 \lstinline{b+xyz+o+[tab]}。

几个特殊的环境:

% Table generated by Excel2LaTeX from sheet 'Sheet1'
\begin{table}[!htbp]
\small
  \centering
  \caption{特殊环境的快捷键}
    \begin{tabular}{llll}
    \toprule
    环境    & 快捷键   & 环境    & 快捷键 \\
    \midrule
    align  & b+ali(s) & tabular  & b+tab \\
    alignat  & b+ali+at(s) & tabularx  & b+tabx \\
    aligned  & b+ali+ed & tabbing  & b+tabb \\
    alignedat  & b+ali+edat(o) & table  & b+tabl、b+tbl (s,o,so) \\
    verbatim  & b+ver  & flushleft  & b+fl+l \\
    verse  & b+vers & flushright  & b+fl+r \\
    \bottomrule
    \end{tabular}%
  \label{tab:special environment}%
\end{table}%

\section{字体}

\subsection{文本字体命令}

\begin{itemize}
\item \lstinline|\textbf\texttt\textsf\textsc\textsl\textit\textup|
\begin{itemize}
\item[方法一] 由字体属性的两个关键字构成，比如 \lstinline{sc+[tab]}，\lstinline{\textit} 有问题，em 表示 \lstinline|\emph{}|
\item[方法二] \lstinline{\text(b/t/s/i/w...)+[tab]}
\end{itemize}
\item 属性的第二种表示方式、\lstinline{属性关键字+d}
\begin{table}[htbp]
  \centering
  \caption{字体属性命令}
    \begin{tabular}{llll}
    \toprule
    快捷键   & 命令    & 快捷键 & 命令 \\
    \midrule
    bf+d   & \lstinline|\bfseries| & sl+d & \lstinline|\slshape| \\
    tt+d & \lstinline|\ttfamily| & it+d & \lstinline|\itshape| \\
    sf+d:  & \lstinline|\sffamily| & up+d & \lstinline|\upshape| \\
    sc+d:  & \lstinline|\scshape| & em+d & \lstinline|\em| \\
    \bottomrule
    \end{tabular}%
  \label{tab:greek}%
\end{table}%
\end{itemize}

\subsection{数学字体命令}

对于数学字体命令 \lstinline{\mathbf\mathrm\mathcal\mathsf\mathtt\mathit}，其引导词为 \lstinline{m+字体属性关键字}。比如：\lstinline{m+bf} 对应 \lstinline{\mathbf}。
    
\section{希腊字母类}
方法：\lstinline|x+[c(大写符号)]+符号首字母|：

适用的字母有：\lstinline|alpha|、\lstinline|beta|、\lstinline|chi|、\lstinline|delta|、\lstinline|gamma|、\lstinline|Gamma|、\lstinline|iota|、\lstinline|mu|、\lstinline|lambada|、\lstinline|Lambda|、\lstinline|mu|、\lstinline|nu|、\lstinline|omega|、\lstinline|Omega|、\lstinline|pi|、\lstinline|sigma|、\lstinline|zeta|、\lstinline|rho|、\lstinline|tau|、\lstinline|upsilon|、\lstinline|xi|、\lstinline|Xi|。

注意以下相同首字母的写法(特殊)：

% Table generated by Excel2LaTeX from sheet 'Sheet1'
\begin{table}[htbp]
  \centering
  \caption{希腊字母特殊命令}
    \begin{tabular}{llll}
    \toprule
    快捷键   & 命令    & 快捷键 & 命令 \\
    \midrule
    x+e   & \lstinline|\epsilon| & x+p & \lstinline|\pi| \\
    x+v+e & \lstinline|\varepsilon| & x+c+p & \lstinline|\Pi| \\
    x+et  & \lstinline|\eta| & x+v+p & \lstinline|\varpi| \\
    x+ps  & \lstinline|\psi| & x+ph & \lstinline|\phi| \\
    x+c+ps & \lstinline|\Psi| & x+c+ph & \lstinline|\Phi| \\
    x+t   & \lstinline|\tau| & x+v+ph & \lstinline|\varphi| \\
    x+th  & \lstinline|\theta| &       &  \\
    \bottomrule
    \end{tabular}%
  \label{tab:greek}%
\end{table}%


\section{文章结构}

% Table generated by Excel2LaTeX from sheet 'Sheet1'
\begin{table}[htbp]
  \centering
  \caption{文章结构快捷键}
    \begin{tabular}{llll}
    \toprule
    快捷键& 对应命令 & 快捷键 & 对应命令 \\
    \midrule
    cha     & \lstinline|\chapter{}| & bbib    & \lstinline|\begin{thebibliography}| \\
    sec(o) 	& \lstinline|\section{}|    & bibitem    & \lstinline|\bibitem| \\
    ssec(o) & \lstinline|\subsection{}| & bibitemo   & \lstinline|\bibitem[]| \\
    sssec(o)& \lstinline|\subsubsection{}| & bibstyle  & \lstinline|\bibliographystyle{}| \\
          &       & biblio     & \lstinline|\bibliography{}| \\
    \bottomrule
    \end{tabular}%
  \label{tab:structural}%
\end{table}%


\section{括号与普通命令}

\subsection{括号}

\begin{itemize}
\item dd：\lstinline{\( \)}
\item d+希腊字母表达式：\lstinline{\(希腊字母\)}
\end{itemize}

\begin{example}
dxa = \lstinline{\(\alpha\)}
\end{example}


\subsection{普通命令}
% Table generated by Excel2LaTeX from sheet 'Sheet1'
\begin{table}[htbp]
  \centering
  \caption{普通命令的快捷键}
    \begin{tabular}{p{3.04em}lp{3.5em}l}
    \toprule
    快捷键 & 对应命令  & 快捷键 & 对应命令 \\
    \midrule
    usep    & \lstinline|\usepackage{}| & newe   & \lstinline|\newenvironment{}{•}{•}| \\
    foot     & \lstinline|\footnote| & newpg  & \lstinline|\newpage| \\
    frac     & \lstinline|\frac| & pgref   & \lstinline|\pageref{}| \\
    fbox    & \lstinline|\fbox| & pgs    & \lstinline|\pagestyle{}| \\
    fboxo   & \lstinline|\framebox| & sqrt    & \lstinline|\sqrt{}| \\
    href    & \lstinline|\href| & toc    & \lstinline|\tableofcontents| \\
    incg    & \lstinline|\includegraphics{}| & listf    & \lstinline|\listoffigures| \\
    incgo   & \lstinline|\includegraphics[]{•}| & list    & \lstinline|\listoftables| \\
    newc   & \lstinline|\newcommand{}{•}| & multic  & \lstinline|\multicolumn{}{•}{•}| \\
    \bottomrule
    \end{tabular}%
  \label{tab:normal command}%
\end{table}%











\end{document}
